iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
IT 管理

從零開始的網際網路隨筆系列 第 24

Day23- "安全"的 VPN 替代?(番外篇,使用 cloudflare tunnel 實現內網穿透)

  • 分享至 

  • xImage
  •  

昨天的穿隧是把 server SSH 服務想辦法用 cloudflare access 內建的 SSH 應用(application) 把東西丟到外網(實際上也要去 cloudflare zerotrust 去做驗證)。而今天我們要嘗試用 cloudflare tunnel 和 warp 去存取內網的 server。

具體概念圖我們可以參考 cloudflare 官網的這篇 文件
warp
首先會在內網的某個設備上部屬 cloudflared (也就是 cloudflare tunnel 的守護進程),接著在我們的電腦內部屬 warp ,只要設定得當,這樣在外網使用內網的服務時,網路流量會在 warp、cloudflare 邊緣伺服器和 cloudflared 間進行加密傳輸。

實作前,老規矩,先上拓譜圖
topo
內網的設定我們只會在 Ubuntu1(10.250.250.105)上完成
(p.s. 之所以 Ubuntu1 的 IP 和昨天的有出入是因為我把原本的砍了重煉)

先到 cloudflare Zero trust 頁面中

zero trust 網路設定

到 Settings > Network > Firewall 中,打開 Proxy 和 Allow WARP to WARP connection,具體如下圖
firewall

WARP client

這是讓我們電腦可以在 WARP 上正常使用 zero trust 團隊的關鍵,沒設定好連最基本的驗證都過不去

Device profile

到 Settings > warp client > Device settings 去設定新的 Profiles,設定好名字和授權的條件後先這樣就可了,其他維持預設,包含 split tunnels(這東西需要設定好 profile 後才能再次回到這去設定其他的東西),具體如下
device profile

Device policy (device enrollment setting)

接著到 Settings > warp client > Device enrollment 中有個 Device enrollment permissions,我們設定一個 policy (跟昨天一模模一樣樣),具體如下
device policy
承上圖,設定好後可以用 policy tester 去測試。

split tunnel

這決定了電腦使用 WARP 時網路流量應該要怎麼去處裡

最後到之前設定的 profile 去設定分割通道(split tunnel)。
首先先解釋

  • exclude IPs and domains 這設定會排除設定的 IP 然後 其他網路流量 都會走 WARP 內設定的。
  • include IPs and domains 這設定會讓設地好的 IP 走 WARP 內的設定
    根據我的需求,設定 include 就可以了(因為我有同時設定其他 VPN,也許將來可以全部整合到 cloudflare www),具體如下
    split tunnel

Tunnel

設定一個新的 Tunnel ,選擇 cloudflared 然後跟著內部引導,具體如下
tunnel settings

如上圖所述,token 請務必自行保管好。不用擔心我的,圖中的僅為示範

然後我們去 Ubuntu1 上把引導中的指令複製貼上即可,其中根據需求,指令選擇要用 current session only 還是 cloudflared 服務自啟動的, cloudflared 服務架設好後會看到 connectors 那裡有顯示。
最後其他都不用特別設定,因為我們的目標是我們設定的內網,於是只要在 CIDR 裡面設定跟分割通道一樣的 IP 即可。

跑這麼多地方做調整,不說是在設定 WARP ,我還以為是在結印,準備發動忍術勒

到了我們的電腦上,先安裝的 cloudflare warp

WARP

登入創建 zero trust 時設定的團隊網域(team domain),看到這後即成功進入 zero trust team。
warp success

馬達馬達

在 warp 裡可以檢查分割通道(split tunnel)是否有正確用到,詳細可參考下圖
warp ui split tunnel

我們可以嘗試用 SSH 連連看 Ubuntu1(10.250.250.105) 和 Ubuntu2(10.250.250.103)(註: 昨天我們只是把這暴露在外網上,所以昨天是沒法直接用內網 IP 去使用 SSH 服務) ,成果如下

ssh ubuntu1

ssh ubuntu2

當然,OPNsense 也可以直接用內網訪問啦
OPNsense

inspired by:
Connect with cloudflared

ref:
Connect with cloudflared
使用 cloudflare 創建大內網


上一篇
Day22-"安全"的 VPN 替代?( Cloudflare 再續前緣)
系列文
從零開始的網際網路隨筆24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言